#ifndef ESCENA_H
#define ESCENA_H

#include <QList>
#include "dibujo3d.h"
#include "visor3d_global.h"
#include "foco.h"

/**
 * Define una escena. Contiene los dibujos y las luces.
 */
class VISOR3D_EXPORT Escena
{
public:
    Escena();
    ~Escena();
    
    void inicializar(QGLWidget* glWidget);

    void agregar(Foco* luz);

    void agregar(Dibujo* dibujo);

    void agregar(const QList<Dibujo*>& dibujos);

    void agregar(Textura* textura);

    void agregar(const QList<Textura*>& texturas);

    void dibujar();

    void destruir();

    void limpiar();

private:
    QList<Foco*> listaLuces;
    QList<Dibujo*> listaDibujos;
    QList<Textura*> listaTexturas;
};

#endif // ESCENA_H
